#ifndef _INT_TRTREE_ITERATOR_H_
#define _INT_TRTREE_ITERATOR_H_
#include "intrbtree.h"

static inline bool operator==(const Int_RB_Tree_Trav& it1,const Int_RB_Tree_Trav&it2)
{
    return it1.it==it2.it;
}
static inline  bool operator!=(const Int_RB_Tree_Trav&it1,const Int_RB_Tree_Trav&it2)
{
    return it1.it!=it2.it;
}
static inline  Int_RB_Tree_Trav operator++(Int_RB_Tree_Trav&it)
{
    it.next(&it);
    return it;

}
static inline Int_RB_Tree_Trav operator++(Int_RB_Tree_Trav&it,int)
{
    Int_RB_Tree_Trav re=it;
    it.next(&it);
    return re;
}
static inline Int_RB_Tree_Trav operator--(Int_RB_Tree_Trav&it)
{
    it.prev(&it);
    return it; 
}
static inline  Int_RB_Tree_Trav operator--(Int_RB_Tree_Trav&it,int)
{
    Int_RB_Tree_Trav re=it;
    it.prev(&it);
    return re; 
}
static inline  void* operator*(Int_RB_Tree_Trav&it)
{
   return it.it->data; 
}



#endif